SSH 远程连接
SSH(Secure Shell)是连接 Linux 服务器的标准方式,通过加密协议建立安全通信。
# 基本连接(默认端口 22)
ssh username@192.168.1.100
# 指定端口连接
ssh -p 2222 username@192.168.1.100
bash
| 参数 | 含义 |
|---|---|
username | 远程服务器的用户名 |
192.168.1.100 | 服务器 IP 地址 |
-p | 指定端口号(Port),默认 22 可省略 |
使用本地终端连接比虚拟机控制台更方便,支持复制粘贴和窗口管理。
获取管理员权限
# 切换到 root 用户
sudo su
# 提示符变化:username@hostname → root@hostname
# root 拥有最高权限,可执行所有操作
bash
文件权限详解
使用 ls -la 查看文件权限:
ls -la ~
bash
输出示例:
drwxr-xr-x 5 root root 4096 Jan 1 00:00 .
-rw------- 1 root root 123 Jan 1 00:00 .bashrc
text
权限位解读
每个文件的权限由 10 个字符组成:
d rwx r-x r-x
│ │ │ │
│ │ │ └── 其他用户(Other)权限
│ │ └────── 群组(Group)权限
│ └────────── 拥有者(Owner)权限
└──────────── 文件类型(d=目录,-=文件,l=链接)
text
| 符号 | 含义 |
|---|---|
r | Read(读) |
w | Write(写) |
x | Execute(执行) |
- | 无权限 |
快速判断
.bashrc的权限-rw-------:仅拥有者(root)可读写,无执行权限- 目录的权限
drwxr-xr-x:拥有者可读写执行,群组和其他用户可读和执行
Linux 目录结构
ll 命令(等同于 ls -la)查看根目录 / 下的所有目录:
| 目录 | 全称 | 说明 | 重要性 |
|---|---|---|---|
/bin | Binary | 二进制可执行文件(系统命令) | 高 |
/boot | Boot | 启动 Linux 的核心文件 | - |
/dev | Device | 外部设备文件(Linux 通过文件管理设备) | - |
/etc | Et Cetera | 系统配置文件(软件配置集中存放) | 高 |
/home | Home | 用户主目录(个人文件、下载、资源) | 高 |
/lib | Library | 库文件(软链接到 /usr/lib) | - |
/lost+found | - | 非法关机时的恢复文件(通常为空) | - |
/media | Media | 媒体设备挂载点 | - |
/mnt | Mount | 临时挂载点(如 U 盘) | - |
/opt | Optional | 可选软件包安装目录 | - |
/proc | Processes | 进程与内核信息(虚拟文件系统) | - |
/root | Root | root 用户的主目录(~ 快捷方式) | 高 |
/run | - | 运行中进程产生的临时文件 | - |
/snap | Snap | Snap 包管理目录 | - |
/srv | Service | 服务启动后需要的数据 | - |
/sys | System | 系统资源信息(内核等) | - |
/tmp | Temporary | 临时目录(重启后清空) | - |
/usr | User | 用户级程序和数据(二进制、库文件) | - |
/var | Variable | 可变数据(日志、缓存等) | 高 |
重点关注:
/bin(命令)、/etc(配置)、/var(日志)、/home(个人文件)、/root(root 主目录)
常用文件操作命令
目录导航
# 跳转到指定目录(绝对路径)
cd /home/tommark
# 跳转到指定目录(相对路径)
cd documents
# 返回上一级目录
cd ..
# 返回用户主目录
cd ~
bash
Tab 键自动补全:输入部分路径后按 Tab 键自动补全,如
cd ho+ Tab →cd home/
文件创建与编辑
# 创建空文件
touch test.txt
# 使用 vim 编辑文件
vim test.txt
# 按 i 进入编辑模式(INSERT)
# 输入内容:Hello World
# 按 Esc 退出编辑模式
# 输入 :wq 保存并退出(注意:英文冒号、小写)
# 不保存退出
# 输入 :q!
bash
文件查看
# 查看文件全部内容
cat test.txt
# 分页查看(支持空格翻页,Ctrl+F/Ctrl+B 前后翻)
more /etc/ssh/ssh_config
# vim 查看长文件(Ctrl+F 翻页,Ctrl+B 回翻)
vim /etc/ssh/ssh_config
# :q 退出(不保存)
bash
文件搜索
# 在当前目录中搜索文件名
ls | grep "test"
# 查找 IP 地址
ip addr | grep 192
# 等价于
ip addr | grep "192"
# 在整个文件系统中按文件名查找
find / -name "test.txt"
# 查看命令帮助(离线救命命令)
<command> --help
bash
系统信息查看
内核版本
# 查看完整内核信息
uname -a
# 输出示例:Linux ubuntu 5.15.0-xx-generic #xx SMP ... aarch64
# 仅查看内核版本号
uname -r
# 输出示例:5.15.0-xx-generic
# 查看详细内核信息
cat /proc/version
bash
发行版信息
# 查看发行版详情
lsb_release -a
# 输出:Distributor ID: Ubuntu
# Release: 22.04
# Codename: jammy
bash
如果提示 lsb_release: command not found,需要先安装:
# Ubuntu
sudo apt update
sudo apt install lsb-release -y
# CentOS
sudo yum install lsb-release -y
bash
包管理命令
| 操作 | Ubuntu (apt) | CentOS (yum) |
|---|---|---|
| 更新源 | sudo apt update | sudo yum check-update |
| 安装包 | sudo apt install <package> -y | sudo yum install <package> -y |
| 卸载包 | sudo apt remove <package> | sudo yum remove <package> |
提示
unable to locate package时,先执行apt update更新软件源。
本节命令速查表
| 命令 | 功能 | 示例 |
|---|---|---|
ssh | 远程连接 | ssh user@ip |
sudo su | 获取 root 权限 | sudo su |
ls -la | 查看文件详情(含隐藏文件) | ls -la ~ |
cd | 切换目录 | cd /home |
touch | 创建文件 | touch test.txt |
vim | 编辑文件 | vim test.txt |
cat | 查看文件内容 | cat test.txt |
more | 分页查看 | more file.txt |
grep | 过滤/搜索 | ip addr | grep 192 |
find | 查找文件 | find / -name "test.txt" |
uname -a | 查看内核 | uname -a |
lsb_release -a | 查看发行版 | lsb_release -a |
apt install | 安装软件包(Ubuntu) | apt install unzip -y |
yum install | 安装软件包(CentOS) | yum install unzip -y |
↑